А что это вообще такое?

Compact. Сборка мусора [3.1]



^memory:compact[]

Собирает так называемый «мусор» в памяти, освобождая ее для повторного использования вашим кодом.
Мусором считается память, более не используемая вашим кодом, т.е. та, на которую в вашем коде нет ссылок.

Например,
$table[^table::sql{запрос}]
$table[]
# освободит память, занимаемую результатом выполнения SQL-запроса
^memory:compact[]

Parser не собирает мусор автоматически, полагаясь в данном вопросе на кодера: поставьте вызов compact в той точке (точках), где ожидаете наибольшей выгоды, например, перед XSL преобразованием.



$status:memory поможет вам в отладке и поиске мест, наиболее выгодных для сборки мусора.

Важно: необходимо как можно более интенсивно использовать локальные переменные, и обнулить глобальные, которые вам не будут нужны для дальнейшей работы кода. Это поможет compact освободить больше.

Важно: не гарантируется, что будет освобождена абсолютно вся неиспользуемая память.









Содержание раздела